// var x =1;
// function add(x){
//
//   var y;
//   // y = x+z;
//   // const z=2;
//   console.log(y);
// }
// add(x);
//
//

// console.log(1)
// new Promise((resolve, reject) => {
//   console.log("请求即将进行")
//   setTimeout(() => {
//     console.log("已请求到数据")
//     resolve()
//   },  1000)}).then(() => {
//     console.log(3)})
// setTimeout(() => {
//   console.log(4)},  2000)
//
//
// console.log(2) // 执行结果1请求即将进行2已请求到数据34
//


// console.log(1)
// new Promise((resolve, reject) => {
//   console.log("请求即将进行")
//   setTimeout(() => {
//     console.log("已请求到数据")
//     resolve()  },  2000)}).then(() => {
//       console.log(3)})
// setTimeout(() => {  console.log(4)},  1000)
// console.log(2) // 与上一个例子的唯一区别是定时器设置的时间不同，根据上图可知，上述代码的执行结果为1请求即将进行24已请求到数据3
//

// console.log('script start')
// async function async1() {
//   // 第一个promise
//   await async2()
//     console.log('async1 end')}
//     function async2()
//  {  console.log('async2 end')}setTimeout(function() {
// // 第一个定时器
// console.log('setTimeout')})
// async1()
// new Promise(resolve => {
// // 第二个promise
// console.log('promise1')
//   resolve()}).then(function() {  console.log('promise2')}).then(function() {  console.log('promise3')})new Promise(resolve => { // 第三个promise
//     console.log('promise4')
//   setTimeout(()=>{
//       // 第二个定时器
// resolve()  })}).then(function() {  console.log('promise5')}).then(
//     function() {  console.log('promise6')})
// console.log('script end')// 执行结果// script start async2 end   promise1 promise4 script end  async1 end promise2  promise3  setTimeout promise5 promise6


console.log('1');

new Promise((resolve, reject) =>  {
  console.log(2);
  reject("你好");
  setTimeout(()=>{
    console.log(411);

    resolve("hhh")

  },1000)

// }).then((res) =>{
//   console.log(3);
//   console.log(res)
}).catch(err =>{
  console.log(err);
})
//     .then((res,err)=>{
//   console.log(err)
//   console.log(3);
//
// })





setTimeout(()=>{
  console.log(4);
},1000);